iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
AI/ ML & Data

智慧之巔:職場必備的AI技能與知識系列 第 12

Day12. 讓人脫胎換骨的程式工具:AI如何激發【工程師&產品經理】職場創新

  • 分享至 

  • xImage
  •  

小雨是一位擁有十多年經驗的資深軟體工程師,專精於Python開發。平日裡,她經常為企業開發自動化工具,尤其是基於影像處理的OCR(光學字符識別)應用程式。然而,隨著技術的不斷更新與專案需求的多樣化,繁瑣的程式撰寫和調試工作讓她感到有些疲憊。

一天,小雨聽到同事提到一款名叫 Cursor AI 的工具,據說這款工具可以透過AI輔助程式設計,並大幅提升開發效率。好奇心驅使她決定嘗試這個新工具,於是她下載了Cursor並將其整合到自己熟悉的開發環境中。
連結網址: https://www.cursor.com/

https://ithelp.ithome.com.tw/upload/images/20240925/20168602wvZOipFiDn.jpg

第一次使用 Cursor AI

打開Cursor的那一刻,小雨就發現它的界面與她熟悉的VS Code非常相似。她選擇了一個新的Python專案,並開始輸入她的需求。

小雨的提示詞

「撰寫一個Python程式,使用Tesseract來實現OCR,從一張圖片中提取文字,並將結果儲存在文字檔案中。」

沒過幾秒,Cursor AI 生成了以下Python程式碼:


import pytesseract
from PIL import Image

def extract_text_from_image(image_path, output_file):
    # 打開圖片
    image = Image.open(image_path)
    
    # 使用Tesseract進行OCR
    text = pytesseract.image_to_string(image, lang='chi_tra+eng')
    
    # 將結果寫入文字檔案
    with open(output_file, 'w', encoding='utf-8') as f:
        f.write(text)
    
    print(f"文字已成功提取並儲存到 {output_file}")

# 使用範例
image_path = '您的圖片路徑.jpg'
output_file = '輸出結果.txt'
extract_text_from_image(image_path, output_file)

點擊「Apply」按鈕後,生成的程式碼立即被插入編輯器中。
https://ithelp.ithome.com.tw/upload/images/20240925/201686023BscxP6DtP.jpg

看到生成的程式碼,小雨非常驚訝。這段程式碼結構清晰且符合她的需求,而她只用了幾個簡單的提示詞就生成了這樣的程式。她幾乎不需要手動編寫,Cursor已經幫她做了絕大部分的工作。
另外下方還包含註解說明:

這個程式做了以下幾件事:

  • 導入必要的庫: pytesseract 用於OCR處理,PIL (Python Imaging Library) 用於圖片處理。
  • 定義了一個函數 extract_text_from_image,它接受兩個參數:
  • image_path: 輸入圖片的路徑
  • output_file: 輸出文字檔案的路徑
  • 在函數內部:
  • 使用 PIL 打開圖片
  • 使用 pytesseract.image_to_string() 進行OCR,設置語言為繁體中文和英文 (chi_tra+eng)
  • 將提取的文字寫入指定的輸出文件
  • 最後,提供了一個使用範例。

使用這個程式之前,請確保您已經安裝了 Tesseract OCR 引擎和 pytesseract 庫。您可以使用以下命令安裝 pytesseract:

pip install pytesseract

另外,您需要根據自己的需求修改 image_path 和 output_file 的值。如果您需要處理其他語言或調整OCR的參數,可以修改 lang 參數或添加其他 Tesseract 配置選項。

進一步調整與優化

為了確保程式更完善,小雨希望Cursor能提供一些錯誤處理機制,避免在圖片不存在或無法讀取時發生意外。她於是修改了提示詞:

小雨的提示詞

「為之前的Python程式加入錯誤處理,避免圖片讀取失敗時程式崩潰。」

很快,Cursor再次生成了優化後的程式碼:

import pytesseract
from PIL import Image
import os

def extract_text_from_image(image_path, output_file):
    try:
        # 檢查圖片檔案是否存在
        if not os.path.exists(image_path):
            raise FileNotFoundError(f"找不到圖片檔案: {image_path}")
        
        # 打開圖片
        image = Image.open(image_path)
        
        # 使用Tesseract進行OCR
        text = pytesseract.image_to_string(image, lang='chi_tra+eng')
        
        # 將結果寫入文字檔案
        with open(output_file, 'w', encoding='utf-8') as f:
            f.write(text)
        
        print(f"文字已成功提取並儲存到 {output_file}")
    
    except FileNotFoundError as e:
        print(f"錯誤: {e}")
    except IOError as e:
        print(f"圖片讀取錯誤: {e}")
    except pytesseract.TesseractError as e:
        print(f"Tesseract OCR 錯誤: {e}")
    except Exception as e:
        print(f"發生未預期的錯誤: {e}")

# 使用範例
image_path = '您的圖片路徑.jpg'
output_file = '輸出結果.txt'
extract_text_from_image(image_path, output_file)

再次點擊「Apply」按鈕後,生成的程式碼立即被插入編輯器中,並以不同顏色呈現新舊版本的差異。
https://ithelp.ithome.com.tw/upload/images/20240925/20168602ozPWYKYoLh.jpg

這次,Cursor AI 完美地加入了錯誤檢查,並且處理了圖片不存在或無法讀取的情況。小雨對於這樣的結果感到非常滿意,Cursor不僅能生成她所需的程式碼,還能根據她的需求進行合理的調整與優化,讓整個開發過程變得更加高效。

此外,Cursor AI還提供了本次改進的說明如下:

這個更新版本的程式碼主要做了以下改進:

  • 導入了 os 模組,用於檢查檔案是否存在。
  • 在 extract_text_from_image 函數中添加了 try-except 區塊,以捕獲可能發生的錯誤。
  • 在讀取圖片之前,先檢查圖片檔案是否存在。如果不存在,則拋出 FileNotFoundError。
  • 捕獲了幾種可能的錯誤:
  • FileNotFoundError: 當找不到圖片檔案時。
  • IOError: 當圖片讀取出錯時。
  • pytesseract.TesseractError: 當 Tesseract OCR 處理出錯時。
  • Exception: 捕獲其他未預期的錯誤。
  • 對於每種錯誤,都會印出相應的錯誤訊息,而不是讓程式崩潰。

這樣的錯誤處理可以確保程式在遇到問題時能夠優雅地處理,並提供有用的錯誤訊息,而不是直接崩潰。這對於提高程式的穩定性和用戶體驗很有幫助。

心得分享

完成這次OCR程式的開發後,小雨深刻體會到Cursor AI的強大功能。這款工具不僅僅是一個簡單的程式碼自動補全工具,它更像是一位智慧型的AI編碼夥伴。Cursor AI能夠理解小雨的意圖,根據她提供的簡單提示詞,快速生成符合需求的完整程式碼。更令人驚嘆的是,它還能在小雨的引導下不斷優化和改進程式,彷彿能夠讀懂她的心思。

這次使用Cursor AI的體驗讓小雨感受到了前所未有的開發效率。她驚訝地發現,原本需要花費數小時甚至數天才能完成的程式開發工作,現在只需要幾分鐘就能完成初步框架,剩下的時間可以專注於更深層次的邏輯優化和功能擴展。這種效率的提升不僅大幅縮短了她的開發時間,還讓她能夠更專注於創新和問題解決,而不是被繁瑣的程式碼書寫所困擾。

隨著對Cursor AI的深入使用,小雨對未來在各種專案中運用這個工具充滿了信心。她開始構想如何將Cursor AI應用到更複雜的系統開發中,如何利用它來提高團隊的整體效率,甚至如何借助它來探索一些之前因為時間或技術限制而無法嘗試的創新想法。

從此,Cursor AI不僅成為了小雨日常開發中不可或缺的得力助手,更成為了激發她創造力和擴展技術邊界的重要工具。她深信,隨著自己對Cursor AI的熟練運用,未來她將能夠挑戰更多複雜的程式設計任務,並在軟體開發領域取得更大的突破。

Cursor AI是一款革命性的AI驅動編輯器,專為現代程式設計師打造。它融合了多種尖端AI技術,旨在顯著提升開發者的編碼效率和創造力。這款工具不僅僅是一個簡單的程式碼編輯器,而是一個智能協作夥伴,能夠理解開發者的意圖並提供精準的支援。以下我們將深入探討Cursor AI的核心功能及其創新的操作界面。

操作界面介紹

https://ithelp.ithome.com.tw/upload/images/20240925/20168602vYj1i54QJw.jpg

主介面

當使用者啟動Cursor AI後,將看到一個直觀且易於導航的主介面。界面左側是檔案瀏覽器,可以快速訪問專案中的各個檔案;中間是編輯區域,用於撰寫和修改程式碼,右側有對話互動視窗。

對話互動視窗

在對話互動視窗,使用者可以在此輸入自然語言指令或問題。例如:

  • “請幫我寫一個連接到MySQL資料庫的函數。”
  • “如何處理JSON格式的資料?”

即時建議面板

當使用者輸入程式碼時,Cursor會在編輯區域下方顯示即時建議面板,列出可能的函數、變數和修復建議。這些建議會隨著使用者輸入而即時更新,使得編碼過程更加流暢。

Cursor AI的核心功能

1. 智慧程式碼提示與自動補全:開發者的思維延伸

Cursor AI擁有強大的智慧提示和自動補全功能,它不僅能根據使用者的程式碼庫提供即時建議,更能夠理解整個專案的上下文。當開發者開始編碼時,Cursor會分析代碼結構、變量使用和函數調用模式,自動推薦最相關的函數、變數或代碼片段。這種深度學習驅動的建議系統能夠適應個人編碼風格,隨著使用不斷優化,提供越來越精確的建議,彷彿能讀懂開發者的心思。

2. 高級錯誤檢測與智能修復建議:程式碼質量的守護者

Cursor AI配備了先進的錯誤檢測引擎,能夠實時分析程式碼,識別潛在的語法錯誤、邏輯缺陷和性能瓶頸。更重要的是,它不僅能指出問題所在,還能提供智能化的修復建議。這些建議不僅包括簡單的語法糾正,還涵蓋了代碼重構和最佳實踐推薦。開發者可以快速審閱這些建議,一鍵應用修復,大大縮短了調試時間,同時提高了代碼質量。

3. 自然語言程式設計:打破編碼與思考之間的障礙

Cursor AI的自然語言支援功能徹底改變了傳統的編碼方式。開發者可以使用日常語言描述他們想要實現的功能,Cursor便能理解意圖並生成相應的高質量代碼。例如,輸入"創建一個計算圓面積的函數,並處理負數輸入",Cursor會立即生成包含輸入驗證、計算邏輯和錯誤處理的完整函數。這種方式不僅加速了開發過程,還使得編程變得更加直觀和易於上手,特別適合新手開發者快速實現想法。

4. 多模型AI支援:個性化的編碼體驗

Cursor AI提供了多種先進的AI模型供開發者選擇,每種模型都有其特定的強項和適用場景。使用者可以根據項目需求、個人偏好或特定編程語言選擇最適合的AI模型。這種靈活性確保了Cursor能夠適應不同類型的開發任務,無論是快速原型開發、複雜算法實現,還是大規模系統重構。通過簡單的快捷鍵或命令,開發者可以輕鬆切換模型,獲得最佳的AI輔助體驗。

5. 無縫集成主流開發環境:熟悉中的創新

Cursor AI深度整合了Visual Studio Code、IntelliJ IDEA等廣受歡迎的開發環境,為開發者提供了熟悉且強大的工作空間。這種無縫集成意味著開發者可以在自己熟悉的環境中享受Cursor的所有先進功能,無需適應全新的界面或工作流程。同時,Cursor還支持豐富的插件生態系統,允許開發者進一步擴展和定制功能,打造完全符合個人需求的智能開發環境。這種方法不僅降低了學習曲線,還大大提高了團隊協作的效率和一致性。

價格方案

https://ithelp.ithome.com.tw/upload/images/20240926/20168602pIba9j7iy4.jpg

結論

Cursor AI是一款強大的工具,不僅提升了程式設計的效率,也讓開發過程變得更加直觀和簡單。無論是資深工程師還是初學者更甚至是不懂程式碼的產品經理,都能從中受益,快速實現自己的編程需求。隨著AI技術的不斷進步,Cursor AI有望成為未來開發者不可或缺的助手。


上一篇
Day11. AI簡報工具的潛力:【主管&講師】職場達人的必修課
下一篇
Dat13. AI會議小幫手:介紹【秘書&書記】四個會議法寶
系列文
智慧之巔:職場必備的AI技能與知識13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言